#include "DetourDebugDraw.h"
#ifdef __cplusplus
extern "C" {
#endif
void nav_duDebugDrawNavMesh(duDebugDraw * dd,dtNavMesh const * mesh,unsigned char flags){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	unsigned char c_arg_flags=flags;
	duDebugDrawNavMesh(c_arg_dd,c_arg_mesh,c_arg_flags);
}

void nav_duDebugDrawNavMeshBVTree(duDebugDraw * dd,dtNavMesh const * mesh){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	duDebugDrawNavMeshBVTree(c_arg_dd,c_arg_mesh);
}

void nav_duDebugDrawNavMeshNodes(duDebugDraw * dd,dtNavMeshQuery const * query){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMeshQuery const& c_arg_query=*(dtNavMeshQuery const *)(query);
	duDebugDrawNavMeshNodes(c_arg_dd,c_arg_query);
}

void nav_duDebugDrawNavMeshPoly(duDebugDraw * dd,dtNavMesh const * mesh,dtPolyRef ref,unsigned int const col){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	dtPolyRef c_arg_ref=ref;
	unsigned int const c_arg_col=col;
	duDebugDrawNavMeshPoly(c_arg_dd,c_arg_mesh,c_arg_ref,c_arg_col);
}

void nav_duDebugDrawNavMeshPolysWithFlags(duDebugDraw * dd,dtNavMesh const * mesh,unsigned short const polyFlags,unsigned int const col){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	unsigned short const c_arg_polyFlags=polyFlags;
	unsigned int const c_arg_col=col;
	duDebugDrawNavMeshPolysWithFlags(c_arg_dd,c_arg_mesh,c_arg_polyFlags,c_arg_col);
}

void nav_duDebugDrawNavMeshPortals(duDebugDraw * dd,dtNavMesh const * mesh){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	duDebugDrawNavMeshPortals(c_arg_dd,c_arg_mesh);
}

void nav_duDebugDrawNavMeshWithClosedList(duDebugDraw * dd,dtNavMesh const * mesh,dtNavMeshQuery const * query,unsigned char flags){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtNavMesh const& c_arg_mesh=*(dtNavMesh const *)(mesh);
	dtNavMeshQuery const& c_arg_query=*(dtNavMeshQuery const *)(query);
	unsigned char c_arg_flags=flags;
	duDebugDrawNavMeshWithClosedList(c_arg_dd,c_arg_mesh,c_arg_query,c_arg_flags);
}

void nav_duDebugDrawTileCacheContours(duDebugDraw * dd,dtTileCacheContourSet const * lcset,float const * orig,float const cs,float const ch){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtTileCacheContourSet const& c_arg_lcset=*(dtTileCacheContourSet const *)(lcset);
	float const * c_arg_orig=(float const *)(void*)(orig);
	float const c_arg_cs=cs;
	float const c_arg_ch=ch;
	duDebugDrawTileCacheContours(c_arg_dd,c_arg_lcset,c_arg_orig,c_arg_cs,c_arg_ch);
}

void nav_duDebugDrawTileCacheLayerAreas(duDebugDraw * dd,dtTileCacheLayer const * layer,float const cs,float const ch){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtTileCacheLayer const& c_arg_layer=*(dtTileCacheLayer const *)(layer);
	float const c_arg_cs=cs;
	float const c_arg_ch=ch;
	duDebugDrawTileCacheLayerAreas(c_arg_dd,c_arg_layer,c_arg_cs,c_arg_ch);
}

void nav_duDebugDrawTileCacheLayerRegions(duDebugDraw * dd,dtTileCacheLayer const * layer,float const cs,float const ch){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtTileCacheLayer const& c_arg_layer=*(dtTileCacheLayer const *)(layer);
	float const c_arg_cs=cs;
	float const c_arg_ch=ch;
	duDebugDrawTileCacheLayerRegions(c_arg_dd,c_arg_layer,c_arg_cs,c_arg_ch);
}

void nav_duDebugDrawTileCachePolyMesh(duDebugDraw * dd,dtTileCachePolyMesh const * lmesh,float const * orig,float const cs,float const ch){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	dtTileCachePolyMesh const& c_arg_lmesh=*(dtTileCachePolyMesh const *)(lmesh);
	float const * c_arg_orig=(float const *)(void*)(orig);
	float const c_arg_cs=cs;
	float const c_arg_ch=ch;
	duDebugDrawTileCachePolyMesh(c_arg_dd,c_arg_lmesh,c_arg_orig,c_arg_cs,c_arg_ch);
}

#ifdef __cplusplus
}
#endif
